﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml.Linq;
using WC.BL.BCC;
using WC.BL.BE;

namespace WC.UI.WebApp
{
    public partial class login : System.Web.UI.Page
    {
        private UsuarioBE _lvObjUsuario = null;
        
        #region metodos internos
        #endregion

        protected void Page_Load(object sender, EventArgs e)
        {
            if (Page.IsPostBack)
            {
                lblMensaje.Visible = true;
                lblMensaje.Text = (string)Session["msj"];
            }
        }

        protected void frmLogin_LoggingIn(object sender, EventArgs e)
        {
            string retval = "";
            try
            {
                retval = UsuarioBC.login(frmLogin.UserName.Trim(), frmLogin.Password.Trim());
                if (string.IsNullOrEmpty(retval))
                {
                    //login ok
                    this._lvObjUsuario = UsuarioBC.read(frmLogin.UserName.Trim());
                    Session["popupShow"] = true;
                    Session["UsuarioBE"] = _lvObjUsuario; 
                    lblMensaje.Text = "";
                    Response.Redirect("default.aspx");
                }
                else if (retval == "C")
                {
                    //C => indica que debe modificar su contraseña para ingresar
                    this._lvObjUsuario = UsuarioBC.read(frmLogin.UserName.Trim());
                    Session["UsuarioBE"] = _lvObjUsuario;
                    Response.Redirect("changepswd.aspx");
                }
                else
                {
                    frmLogin.FailureText = retval;
                    //Response.Write(retval);
                }
            }
            catch(Exception ex)
            {
                retval = ex.Message;
                //Session["msj"] = retval;  
            }
            finally
            {      
            }
        }

        protected void lnkResetPassword_Click(object sender, EventArgs e)
        {
            string retval = string.Empty;
            try
            {
                if (!string.IsNullOrEmpty(frmLogin.UserName.Trim()))
                {
                    retval = UsuarioBC.resetPassword(frmLogin.UserName.Trim());
                    if (string.IsNullOrEmpty(retval))
                    {
                        retval = "Su contraseña fue enviada por correo.";
                    }
                }
                else
                {
                    retval = "Favor, ingrese el nombre de usuario.";
                }
                lblMensaje.Text  = retval;
                lblMensaje.Visible = true;
                Session["msj"] = retval;
            }
            catch (Exception ex)
            {
                lblMensaje.Text = ex.Message;
                lblMensaje.Visible = true;
                Session["msj"] = retval;
            }
        }
    }
}
